void _gdk_windowing_window_get_offsets (GdkWindow *window,
gint *x_offset,
gint *y_offset);
-cairo_region_t *_gdk_windowing_window_get_shape (GdkWindow *window);
-cairo_region_t *_gdk_windowing_window_get_input_shape(GdkWindow *window);
void _gdk_windowing_window_beep (GdkWindow *window);
}
else if (private->window_type == GDK_WINDOW_FOREIGN)
{
- shape = _gdk_windowing_window_get_shape ((GdkWindow *)child);
+ shape = GDK_WINDOW_IMPL_GET_CLASS (child)->get_shape (child);
if (shape)
{
cairo_region_intersect (child_region, shape);
cairo_region_intersect (child_region, child->input_shape);
else if (private->window_type == GDK_WINDOW_FOREIGN)
{
- shape = _gdk_windowing_window_get_input_shape ((GdkWindow *)child);
+ shape = GDK_WINDOW_IMPL_GET_CLASS (child)->get_input_shape (child);
if (shape)
{
cairo_region_intersect (child_region, shape);
gint *y,
GdkModifierType *mask);
+ cairo_region_t * (* get_shape) (GdkWindow *window);
+ cairo_region_t * (* get_input_shape) (GdkWindow *window);
void (* shape_combine_region) (GdkWindow *window,
const cairo_region_t *shape_region,
gint offset_x,
{
}
-cairo_region_t *
-_gdk_windowing_window_get_shape (GdkWindow *window)
+static cairo_region_t *
+gdk_quartz_window_get_shape (GdkWindow *window)
{
/* FIXME: implement */
return NULL;
}
-cairo_region_t *
-_gdk_windowing_window_get_input_shape (GdkWindow *window)
+static cairo_region_t *
+gdk_quartz_window_get_input_shape (GdkWindow *window)
{
/* FIXME: implement */
return NULL;
iface->translate = _gdk_quartz_window_translate;
iface->destroy = _gdk_quartz_window_destroy;
iface->resize_cairo_surface = gdk_window_quartz_resize_cairo_surface;
+ iface->get_shape = gdk_quartz_window_get_shape;
+ iface->get_input_shape = gdk_quartz_window_get_input_shape;
}
{
}
-cairo_region_t *
-_gdk_windowing_window_get_shape (GdkWindow *window)
+static cairo_region_t *
+gdk_win32_window_get_shape (GdkWindow *window)
{
HRGN hrgn = CreateRectRgn (0, 0, 0, 0);
int type = GetWindowRgn (GDK_WINDOW_HWND (window), hrgn);
return NULL;
}
-cairo_region_t *
-_gdk_windowing_window_get_input_shape (GdkWindow *window)
+static cairo_region_t *
+_gdk_win32_window_get_input_shape (GdkWindow *window)
{
/* CHECK: are these really supposed to be the same? */
return _gdk_windowing_window_get_shape (window);
iface->translate = _gdk_win32_window_translate;
iface->destroy = _gdk_win32_window_destroy;
iface->resize_cairo_surface = gdk_win32_window_resize_cairo_surface;
+ iface->get_shape = gdk_win32_window_get_shape;
+ iface->get_input_shape = gdk_win32_window_get_input_shape;
}
gboolean
}
-cairo_region_t *
-_gdk_windowing_window_get_shape (GdkWindow *window)
+static cairo_region_t *
+gdk_x11_window_get_shape (GdkWindow *window)
{
if (!GDK_WINDOW_DESTROYED (window) &&
gdk_display_supports_shapes (GDK_WINDOW_DISPLAY (window)))
return NULL;
}
-cairo_region_t *
-_gdk_windowing_window_get_input_shape (GdkWindow *window)
+static cairo_region_t *
+gdk_x11_window_get_input_shape (GdkWindow *window)
{
#if defined(ShapeInput)
if (!GDK_WINDOW_DESTROYED (window) &&
impl_class->translate = _gdk_x11_window_translate;
impl_class->destroy = _gdk_x11_window_destroy;
impl_class->resize_cairo_surface = gdk_window_x11_resize_cairo_surface;
+ impl_class->get_shape = gdk_x11_window_get_shape;
+ impl_class->get_input_shape = gdk_x11_window_get_input_shape;
}